# IPQ5322 自动生成QSDK ## 脚本第一次生成QSDK并编译打包 1. 设置环境变量 ```bash CHIP_CODE_DIR=~/works/01.qsdk12.2.r3_32_5322/qca-networking-2022-spf-12-2_qca_oem BUILD_WS=~/works/01.qsdk12.2.r3_32_5322 # 即$CHIP_CODE_DIR/../ ``` 2. 执行:分两种情况 - 没有EZMESH等这些代码 ```bash cd $BUILD_WS python $CHIP_CODE_DIR/common/build/meta_generation_script.py -c r12.2.r3_00009.0 -s IPQ5322.ILQ.12.2 -p P -b 32 -d OEM --path $BUILD_WS ``` - 有EZMESH_BIN等这些代码 ```bash cd $BUILD_WS python $CHIP_CODE_DIR/common/build/meta_generation_script.py -c r12.2.r3_00009.0 -s IPQ5322.ILQ.12.2 -p P -b 32 -d HYFI,WHC,WAPID,EZMESH_SRC,EZMESH_BIN,EZMESH_ALG,EZ_ALG_SRC,CTL_APP_SRC,CTL_APP_BIN,IFLI_SRC,YORK -m EZMESH_FULL --path $BUILD_WS ``` **注意**:这里为什么`--path $BUILD_WS` :在python meta_generation_script.py脚本里面: ``` book@docker:~/works/01.qsdk12.2.r3_32_5322$ tree -L 2 . |-- MIAMI | |-- Build_path.txt | `-- P_0310----------------------------------------------------|名字脚本生成 | `-- qca-networking-2022-spf-12-2_qca_oem《---------------—|-最终编译的都在这里面 | | `-- qca-networking-2022-spf-12-2_qca_oem------------拷贝-----------| |-- BOOT.XF.0.3.1.1 |-- IPQ5322 |-- IPQ5322.ILQ.12.2 |-- IPQ9574 |-- Miami_DebugEntitlementCert_OEM_Priv_v01_signed.bin |-- NHSS.QSDK.12.2 |-- TMEL.WNS.1.1 |-- TZ.WNS.5.3 |-- WLAN.WBE.1.1 |-- about.html |-- apss_proc |-- boot_images |-- common |-- contents.xml |-- miami_tme_security_profile.xml |-- output |-- patch |-- qsdk |-- qsdk_devenv_setup.sh |-- release |-- scripts |-- skales |-- tools |-- trustzone_images |-- wim `-- wlan_proc ``` ``` PATH=$BUILD_WS CHIPCODE_TAG="r12.2.r3_00009.0" PROFILE=P cd $PATH MAIN_DISTRO=ls | grep 'qca-networking' | head -1 检查 qca-networking开头的 #MAIN_DISTRO=qca-networking-2022-spf-12-2_qca_oem cd $MAIN_DISTRO 判断下 PATH+MAIN_DISTRO+"/qsdk" 必须存在 git checkout MAIN_DISTRO # 由于我们是自己解压的oem,所以没有这里在MAIN_DISTRO路面不肯有git信息 cd $PATH #sp="MIAMI" mkdir -p "MIAMI" mkdir -p "MIAMI/P_0310 # P来源PROFILE 0310是时间 cp -rf $MAIN_DISTRO MIAMI/P_0310 build_path=PATH/MIAMI/P_0310 cd $build_path echo " + build_path+"/"+MAIN_DISTRO +" >> ../Build_path.txt" mkdir -p 64 cp -rf MAIN_DISTRO* 64 cd $MAIN_DISTRO 接下来就和正常一样了 ``` 总结也就是 - CHIP_CODE_DIR只是初始我们存放的源码 - 我们需要用到$CHIP_CODE_DIR/common/build/meta_generation_script.py脚本 - 执行这个脚本的时候需要指定`--path`参数 ``` python meta_generation_script.py -c r12.2.r3_00009.0 -s IPQ5322.ILQ.12.2 -p P -b 32 -d OEM --path $BUILD_WS ``` BUILD_WS必须和CHIP_CODE_DIR处于同级目录,而不是CHIP_CODE_DIR/的目录 - 脚本会拷贝$CHIP_CODE_DIR 到 `$PATH/MIAMI/P_0310`下面,这个`$PATH/MIAMI/P_0310/qca-networking-2022-spf-12-2_qca_oem` 才是我们最终编译,打包的目录 ## 编译 下次编译直接进入 ```bash cd MIAMI/P_0310/qca-networking-2022-spf-12-2_qca_oem/qsdk/ make ``` ## 打包 还是需要用到我们的打包脚本 ```bash cd MIAMI/P_0310/qca-networking-2022-spf-12-2_qca_oem ./wim/scrpit/wim_pack_single_image.sh ```